package com.ruoyi.wms.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.wms.domain.WmsOwnerOrderNumberRule;

/**
 * 货主订单编号规则配置Mapper接口
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public interface WmsOwnerOrderNumberRuleMapper 
{
    /**
     * 查询货主订单编号规则配置
     * 
     * @param ruleId 货主订单编号规则配置主键
     * @return 货主订单编号规则配置
     */
    public WmsOwnerOrderNumberRule selectWmsOwnerOrderNumberRuleByRuleId(Long ruleId);

    /**
     * 查询货主订单编号规则配置列表
     * 
     * @param wmsOwnerOrderNumberRule 货主订单编号规则配置
     * @return 货主订单编号规则配置集合
     */
    public List<WmsOwnerOrderNumberRule> selectWmsOwnerOrderNumberRuleList(WmsOwnerOrderNumberRule wmsOwnerOrderNumberRule);

    /**
     * 根据货主ID和订单类型查询规则
     * 
     * @param ownerId 货主ID
     * @param orderType 订单类型
     * @return 货主订单编号规则配置
     */
    public WmsOwnerOrderNumberRule selectRuleByOwnerIdAndOrderType(@Param("ownerId") Long ownerId, @Param("orderType") String orderType);

    /**
     * 新增货主订单编号规则配置
     * 
     * @param wmsOwnerOrderNumberRule 货主订单编号规则配置
     * @return 结果
     */
    public int insertWmsOwnerOrderNumberRule(WmsOwnerOrderNumberRule wmsOwnerOrderNumberRule);

    /**
     * 修改货主订单编号规则配置
     * 
     * @param wmsOwnerOrderNumberRule 货主订单编号规则配置
     * @return 结果
     */
    public int updateWmsOwnerOrderNumberRule(WmsOwnerOrderNumberRule wmsOwnerOrderNumberRule);

    /**
     * 删除货主订单编号规则配置
     * 
     * @param ruleId 货主订单编号规则配置主键
     * @return 结果
     */
    public int deleteWmsOwnerOrderNumberRuleByRuleId(Long ruleId);

    /**
     * 批量删除货主订单编号规则配置
     * 
     * @param ruleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsOwnerOrderNumberRuleByRuleIds(Long[] ruleIds);

    /**
     * 根据货主ID删除规则配置
     * 
     * @param ownerId 货主ID
     * @return 结果
     */
    public int deleteWmsOwnerOrderNumberRuleByOwnerId(Long ownerId);
}